using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("OptionsMenu")]
	public class OptionsMenu : MonoBehaviour
	{
		public MultiSliceElement m_leftPane => method_3<MultiSliceElement>("m_leftPane");

		public MultiSliceElement m_rightPane => method_3<MultiSliceElement>("m_rightPane");

		public MultiSliceElement m_middlePane => method_3<MultiSliceElement>("m_middlePane");

		public GameObject m_graphicsGroup => method_3<GameObject>("m_graphicsGroup");

		public DropdownControl m_graphicsRes => method_3<DropdownControl>("m_graphicsRes");

		public DropdownControl m_graphicsQuality => method_3<DropdownControl>("m_graphicsQuality");

		public CheckBox m_fullScreenCheckbox => method_3<CheckBox>("m_fullScreenCheckbox");

		public GameObject m_soundGroup => method_3<GameObject>("m_soundGroup");

		public ScrollbarControl m_masterVolume => method_3<ScrollbarControl>("m_masterVolume");

		public ScrollbarControl m_musicVolume => method_3<ScrollbarControl>("m_musicVolume");

		public CheckBox m_backgroundSound => method_3<CheckBox>("m_backgroundSound");

		public GameObject m_miscGroup => method_3<GameObject>("m_miscGroup");

		public UIBButton m_creditsButton => method_3<UIBButton>("m_creditsButton");

		public UIBButton m_cinematicButton => method_3<UIBButton>("m_cinematicButton");

		public GameObject m_preferencesGroup => method_3<GameObject>("m_preferencesGroup");

		public CheckBox m_spectatorOpenJoinCheckbox => method_3<CheckBox>("m_spectatorOpenJoinCheckbox");

		public GameObject m_accountGroup => method_3<GameObject>("m_accountGroup");

		public UIBButton m_switchAccountButton => method_3<UIBButton>("m_switchAccountButton");

		public UIBButton m_placeHolderButton => method_3<UIBButton>("m_placeHolderButton");

		public GameObject m_languageGroup => method_3<GameObject>("m_languageGroup");

		public DropdownControl m_languageDropdown => method_3<DropdownControl>("m_languageDropdown");

		public FontDef m_languageDropdownFont => method_3<FontDef>("m_languageDropdownFont");

		public CheckBox m_languagePackCheckbox => method_3<CheckBox>("m_languagePackCheckbox");

		public PegUIElement m_inputBlocker => method_3<PegUIElement>("m_inputBlocker");

		public UberText m_versionLabel => method_3<UberText>("m_versionLabel");

		public bool m_isShown => method_2<bool>("m_isShown");

		public List<GraphicsResolution> m_fullScreenResolutions => method_3<Class271<GraphicsResolution>>("m_fullScreenResolutions")?.method_25();

		public Vector3 NORMAL_SCALE => method_2<Vector3>("NORMAL_SCALE");

		public Vector3 HIDDEN_SCALE => method_2<Vector3>("HIDDEN_SCALE");

		public OptionsMenu(IntPtr address, string className)
			: base(address, className)
		{
		}

		public OptionsMenu(IntPtr address)
			: this(address, "OptionsMenu")
		{
		}

		public static OptionsMenu Get()
		{
			return MonoClass.smethod_15<OptionsMenu>(TritonHs.MainAssemblyPath, "", "OptionsMenu", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public bool IsShown()
		{
			return method_11<bool>("IsShown", Array.Empty<object>());
		}

		public void Show()
		{
			method_8("Show");
		}

		public void Hide(bool callHideHandler)
		{
			method_8("Hide", callHideHandler);
		}

		public GraphicsResolution GetCurrentGraphicsResolution()
		{
			return method_14<GraphicsResolution>("GetCurrentGraphicsResolution", Array.Empty<object>());
		}

		public string GetCurrentGraphicsQuality()
		{
			return method_13("GetCurrentGraphicsQuality");
		}

		public List<GraphicsResolution> GetGoodGraphicsResolution()
		{
			return method_14<Class271<GraphicsResolution>>("GetGoodGraphicsResolution", Array.Empty<object>())?.method_25();
		}

		public string GetCurrentLanguage()
		{
			return method_13("GetCurrentLanguage");
		}

		public void ShowOrHide(bool showOrHide)
		{
			method_8("ShowOrHide", showOrHide);
		}

		public string StringNameFromLocale(Locale locale)
		{
			return method_13("StringNameFromLocale", locale);
		}

		public void UpdateCreditsUI()
		{
			method_8("UpdateCreditsUI");
		}

		public void OnFatalError(FatalErrorMessage message, object userData)
		{
			method_8("OnFatalError", message, userData);
		}

		public void OnToggleFullScreenCheckbox(UIEvent e)
		{
			method_8("OnToggleFullScreenCheckbox", e);
		}

		public void OnNewGraphicsQuality(object selection, object prevSelection)
		{
			method_8("OnNewGraphicsQuality", selection, prevSelection);
		}

		public void OnNewGraphicsResolution(object selection, object prevSelection)
		{
			method_8("OnNewGraphicsResolution", selection, prevSelection);
		}

		public void OnNewLanguage(object selection, object prevSelection)
		{
			method_8("OnNewLanguage", selection, prevSelection);
		}

		public void OnChangeLanguageConfirmationResponse(AlertPopup.Response response, object userData)
		{
			method_8("OnChangeLanguageConfirmationResponse", response, userData);
		}

		public void ToggleLanguagePackCheckbox(UIEvent e)
		{
			method_8("ToggleLanguagePackCheckbox", e);
		}

		public string OnGraphicsResolutionDropdownText(object val)
		{
			return method_13("OnGraphicsResolutionDropdownText", val);
		}

		public void OnNewMasterVolume(float newVolume)
		{
			method_8("OnNewMasterVolume", newVolume);
		}

		public void OnMasterVolumeRelease()
		{
			method_8("OnMasterVolumeRelease");
		}

		public void OnNewMusicVolume(float newVolume)
		{
			method_8("OnNewMusicVolume", newVolume);
		}

		public void ToggleBackgroundSound(UIEvent e)
		{
			method_8("ToggleBackgroundSound", e);
		}

		public void OnSwitchAccountButtonReleased(UIEvent e)
		{
			method_8("OnSwitchAccountButtonReleased", e);
		}

		public void OnCreditsButtonReleased(UIEvent e)
		{
			method_8("OnCreditsButtonReleased", e);
		}

		public void OnCinematicButtonReleased(UIEvent e)
		{
			method_8("OnCinematicButtonReleased", e);
		}

		public void ToggleSpectatorOpenJoin(UIEvent e)
		{
			method_8("ToggleSpectatorOpenJoin", e);
		}

		public bool CanShowCredits()
		{
			return method_11<bool>("CanShowCredits", Array.Empty<object>());
		}
	}
}
